Digital video capabilities can be incorporated into a wide range of video devices, including digital televisions, digital direct broadcast systems, wireless communication devices such as wireless telephone handsets, wireless broadcast systems, personal digital assistants (PDAs), laptop or desktop computers, tablet computers, digital cameras, digital recording devices, video gaming devices, video game consoles, personal multimedia players, and the like. Such video devices may implement video compression techniques, such as those described in MPEG-2, MPEG-4, or ITU-T H.264/MPEG-4, Part 10, Advanced Video Coding (AVC), in order compress video data. Video compression techniques perform spatial and/or temporal prediction to reduce or remove redundancy inherent in video sequences. New video standards, such as the High Efficiency Video Coding (HEVC) standard being developed by the “Joint Collaborative Team—Video Coding” (JCTVC), which is a collaboration between MPEG and ITU-T, continue to emerge and evolve. The emerging HEVC standard is sometimes referred to as H.265.
These and other video coding standards and techniques use block-based video coding. Block-based video coding techniques divide the video data of a video frame (or portion thereof) into video blocks and then encode the video blocks using predictive block-based compression techniques. The video blocks may be further divided into video block partitions. The video blocks (or partitions thereot) may be referred to as coding units (CUs) and may be encoded using one or more video-specific encoding techniques as well as general data compression techniques. Different modes may be selected and used to code the video blocks.
With the emerging HEVC standard, largest coding units (LCUs) may be divided into smaller and smaller CUs according to a quadtree partitioning scheme. The CUs may be predicted based on so-called prediction units (PUs), which can have partition sizes corresponding to the size of the CUs or smaller than the size of the CUs, such that multiple PUs can be used to predict a given CU.
Different modes may be used to encode the CUs. For example, different intra coding modes may be used to code the CUs based on predictive data within the same frame or slice so as to exploit spatial redundancy within a video frame. Alternatively, inter coding modes may be used to code CUs based on predictive data from another frame or slice, so as to exploit temporal redundancy across frames of a video sequence. After the predictive coding is performed according to a selected mode, transform coding may then be performed, such as discrete cosine transforms (DCT), integer transforms or the like. With HEVC, the transform coding may occur with respect to transform units (TUs), which can also have varying transform sizes in the HEVC standard. Quantization of the transform coefficients, scanning of the quantized transform coefficients, and entropy coding may also be performed. Syntax information is signaled with encoded video data, e.g., in a video slice header or video block header, in order to inform the decoder how to decode the video data. Among other things, the syntax information may identify the mode that was used in the video coding of different video blocks.
Merge mode is a specific inter coding mode used in video compression. With merge mode, the motion vector of a neighboring video block is inherited for a current video block being coded. In some cases, merge mode causes a current video block to inherit the motion vector of a pre-defined neighbor, and in other cases, an index value may be used to identify the specific neighbor from which the current video block inherits its motion vector (e.g., top, top right, left, left bottom or co-located from a temporally adjacent frame).